// 属性也可以标记readonly为 TypeScript。虽然它不会在运行时更改任何行为，但readonly在类型检查期间无法写入标记为的属性。
// 在定义类型的时候，在属性名前加readonly，只表示这个属性不允许修改值，
// 这个属性不能修改值，如果属性值是复杂数据类型，不能该地址，但是可以改值的属性
interface Home {
    readonly resident: { name: string; age: number };
  }
   
  function visitForBirthday(home: Home) {
    // We can read and update properties from 'home.resident'.
    console.log(`Happy birthday ${home.resident.name}!`);
    home.resident.age++;
  }